{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# CPSC 330 midterm\n",
    "\n",
    "The University of British Columbia\n",
    "\n",
    "Instructor: Mike Gelbart\n",
    "\n",
    "February 13, 2020"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Please write your CS ID (a.g. a1b2c) **clearly and legibly** at the left-hand side of the box below:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In this exam we'll be analyzing the [Rain in Australia](https://www.kaggle.com/jsphyg/weather-dataset-rattle-package) dataset from Kaggle. This exam consists of 14 **equally weighted** questions interspersed between parts of the analysis. The exam was printed directly from Jupyter; that is, all the output you see was generated by the code you see, with no \"tampering\" after-the-fact."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "plt.rcParams['font.size'] = 16\n",
    "import graphviz\n",
    "from sklearn.impute import SimpleImputer\n",
    "from sklearn.preprocessing import StandardScaler, OrdinalEncoder, OneHotEncoder\n",
    "from sklearn.compose import ColumnTransformer\n",
    "from sklearn.dummy import DummyClassifier\n",
    "from sklearn.tree import DecisionTreeClassifier, export_graphviz\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "from sklearn.metrics import plot_confusion_matrix, roc_curve, roc_auc_score\n",
    "from sklearn.model_selection import GridSearchCV, RandomizedSearchCV"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "pd.set_option('precision', 2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The last line (above) tells pandas to print numbers to 2 decimal places (the default is 6 places). This should improve readability for you."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Preliminaries"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Load the data:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.read_csv('weatherAUS.csv', parse_dates=['Date'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Split the data by date (you can assume this is a reasonable thing to do):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_train = df.query('Date <= 20121231')\n",
    "df_valid = df.query('20130101 <= Date <= 20151231')\n",
    "df_test  = df.query('Date >= 20160101')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "First, I call `df.describe()` to get a sense of some of the features:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>MinTemp</th>\n",
       "      <th>MaxTemp</th>\n",
       "      <th>Rainfall</th>\n",
       "      <th>Evaporation</th>\n",
       "      <th>Sunshine</th>\n",
       "      <th>WindGustSpeed</th>\n",
       "      <th>WindSpeed9am</th>\n",
       "      <th>WindSpeed3pm</th>\n",
       "      <th>Humidity9am</th>\n",
       "      <th>Humidity3pm</th>\n",
       "      <th>Pressure9am</th>\n",
       "      <th>Pressure3pm</th>\n",
       "      <th>Cloud9am</th>\n",
       "      <th>Cloud3pm</th>\n",
       "      <th>Temp9am</th>\n",
       "      <th>Temp3pm</th>\n",
       "      <th>RISK_MM</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>141556.00</td>\n",
       "      <td>141871.00</td>\n",
       "      <td>140787.00</td>\n",
       "      <td>81350.00</td>\n",
       "      <td>74377.00</td>\n",
       "      <td>132923.00</td>\n",
       "      <td>140845.00</td>\n",
       "      <td>139563.00</td>\n",
       "      <td>140419.00</td>\n",
       "      <td>138583.00</td>\n",
       "      <td>128179.00</td>\n",
       "      <td>128212.00</td>\n",
       "      <td>88536.00</td>\n",
       "      <td>85099.00</td>\n",
       "      <td>141289.00</td>\n",
       "      <td>139467.00</td>\n",
       "      <td>142193.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>12.19</td>\n",
       "      <td>23.23</td>\n",
       "      <td>2.35</td>\n",
       "      <td>5.47</td>\n",
       "      <td>7.62</td>\n",
       "      <td>39.98</td>\n",
       "      <td>14.00</td>\n",
       "      <td>18.64</td>\n",
       "      <td>68.84</td>\n",
       "      <td>51.48</td>\n",
       "      <td>1017.65</td>\n",
       "      <td>1015.26</td>\n",
       "      <td>4.44</td>\n",
       "      <td>4.50</td>\n",
       "      <td>16.99</td>\n",
       "      <td>21.69</td>\n",
       "      <td>2.36</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>6.40</td>\n",
       "      <td>7.12</td>\n",
       "      <td>8.47</td>\n",
       "      <td>4.19</td>\n",
       "      <td>3.78</td>\n",
       "      <td>13.59</td>\n",
       "      <td>8.89</td>\n",
       "      <td>8.80</td>\n",
       "      <td>19.05</td>\n",
       "      <td>20.80</td>\n",
       "      <td>7.11</td>\n",
       "      <td>7.04</td>\n",
       "      <td>2.89</td>\n",
       "      <td>2.72</td>\n",
       "      <td>6.49</td>\n",
       "      <td>6.94</td>\n",
       "      <td>8.48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>-8.50</td>\n",
       "      <td>-4.80</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.00</td>\n",
       "      <td>6.00</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.00</td>\n",
       "      <td>980.50</td>\n",
       "      <td>977.10</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.00</td>\n",
       "      <td>-7.20</td>\n",
       "      <td>-5.40</td>\n",
       "      <td>0.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>7.60</td>\n",
       "      <td>17.90</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2.60</td>\n",
       "      <td>4.90</td>\n",
       "      <td>31.00</td>\n",
       "      <td>7.00</td>\n",
       "      <td>13.00</td>\n",
       "      <td>57.00</td>\n",
       "      <td>37.00</td>\n",
       "      <td>1012.90</td>\n",
       "      <td>1010.40</td>\n",
       "      <td>1.00</td>\n",
       "      <td>2.00</td>\n",
       "      <td>12.30</td>\n",
       "      <td>16.60</td>\n",
       "      <td>0.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>12.00</td>\n",
       "      <td>22.60</td>\n",
       "      <td>0.00</td>\n",
       "      <td>4.80</td>\n",
       "      <td>8.50</td>\n",
       "      <td>39.00</td>\n",
       "      <td>13.00</td>\n",
       "      <td>19.00</td>\n",
       "      <td>70.00</td>\n",
       "      <td>52.00</td>\n",
       "      <td>1017.60</td>\n",
       "      <td>1015.20</td>\n",
       "      <td>5.00</td>\n",
       "      <td>5.00</td>\n",
       "      <td>16.70</td>\n",
       "      <td>21.10</td>\n",
       "      <td>0.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>16.80</td>\n",
       "      <td>28.20</td>\n",
       "      <td>0.80</td>\n",
       "      <td>7.40</td>\n",
       "      <td>10.60</td>\n",
       "      <td>48.00</td>\n",
       "      <td>19.00</td>\n",
       "      <td>24.00</td>\n",
       "      <td>83.00</td>\n",
       "      <td>66.00</td>\n",
       "      <td>1022.40</td>\n",
       "      <td>1020.00</td>\n",
       "      <td>7.00</td>\n",
       "      <td>7.00</td>\n",
       "      <td>21.60</td>\n",
       "      <td>26.40</td>\n",
       "      <td>0.80</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>33.90</td>\n",
       "      <td>48.10</td>\n",
       "      <td>371.00</td>\n",
       "      <td>145.00</td>\n",
       "      <td>14.50</td>\n",
       "      <td>135.00</td>\n",
       "      <td>130.00</td>\n",
       "      <td>87.00</td>\n",
       "      <td>100.00</td>\n",
       "      <td>100.00</td>\n",
       "      <td>1041.00</td>\n",
       "      <td>1039.60</td>\n",
       "      <td>9.00</td>\n",
       "      <td>9.00</td>\n",
       "      <td>40.20</td>\n",
       "      <td>46.70</td>\n",
       "      <td>371.00</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         MinTemp    MaxTemp   Rainfall  Evaporation  Sunshine  WindGustSpeed  \\\n",
       "count  141556.00  141871.00  140787.00     81350.00  74377.00      132923.00   \n",
       "mean       12.19      23.23       2.35         5.47      7.62          39.98   \n",
       "std         6.40       7.12       8.47         4.19      3.78          13.59   \n",
       "min        -8.50      -4.80       0.00         0.00      0.00           6.00   \n",
       "25%         7.60      17.90       0.00         2.60      4.90          31.00   \n",
       "50%        12.00      22.60       0.00         4.80      8.50          39.00   \n",
       "75%        16.80      28.20       0.80         7.40     10.60          48.00   \n",
       "max        33.90      48.10     371.00       145.00     14.50         135.00   \n",
       "\n",
       "       WindSpeed9am  WindSpeed3pm  Humidity9am  Humidity3pm  Pressure9am  \\\n",
       "count     140845.00     139563.00    140419.00    138583.00    128179.00   \n",
       "mean          14.00         18.64        68.84        51.48      1017.65   \n",
       "std            8.89          8.80        19.05        20.80         7.11   \n",
       "min            0.00          0.00         0.00         0.00       980.50   \n",
       "25%            7.00         13.00        57.00        37.00      1012.90   \n",
       "50%           13.00         19.00        70.00        52.00      1017.60   \n",
       "75%           19.00         24.00        83.00        66.00      1022.40   \n",
       "max          130.00         87.00       100.00       100.00      1041.00   \n",
       "\n",
       "       Pressure3pm  Cloud9am  Cloud3pm    Temp9am    Temp3pm    RISK_MM  \n",
       "count    128212.00  88536.00  85099.00  141289.00  139467.00  142193.00  \n",
       "mean       1015.26      4.44      4.50      16.99      21.69       2.36  \n",
       "std           7.04      2.89      2.72       6.49       6.94       8.48  \n",
       "min         977.10      0.00      0.00      -7.20      -5.40       0.00  \n",
       "25%        1010.40      1.00      2.00      12.30      16.60       0.00  \n",
       "50%        1015.20      5.00      5.00      16.70      21.10       0.00  \n",
       "75%        1020.00      7.00      7.00      21.60      26.40       0.80  \n",
       "max        1039.60      9.00      9.00      40.20      46.70     371.00  "
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "It's interesting to note that the max temperature was 48 degrees; that's very hot!"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Q1\n",
    "\n",
    "What did I do wrong in the above line, and what should I have done instead? **Maximum 2 sentences.**\n",
    "\n",
    "<br><br><br><br><br><br><br><br>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---------------"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Next I create X and y. Note: the dataset documentation says to remove `RISK_MM`. I will also drop the `Date`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "target_column = 'RainTomorrow'\n",
    "drop_columns = ['RISK_MM', 'Date']\n",
    "X_train = df_train.drop(columns=[target_column] + drop_columns)\n",
    "X_valid = df_valid.drop(columns=[target_column] + drop_columns)\n",
    "X_test  = df_test.drop( columns=[target_column] + drop_columns)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "y_train = df_train[target_column]\n",
    "y_valid = df_valid[target_column]\n",
    "y_test = df_test[target_column]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Start looking at the data:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(65491, 21)"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Location</th>\n",
       "      <th>MinTemp</th>\n",
       "      <th>MaxTemp</th>\n",
       "      <th>Rainfall</th>\n",
       "      <th>Evaporation</th>\n",
       "      <th>Sunshine</th>\n",
       "      <th>WindGustDir</th>\n",
       "      <th>WindGustSpeed</th>\n",
       "      <th>WindDir9am</th>\n",
       "      <th>WindDir3pm</th>\n",
       "      <th>...</th>\n",
       "      <th>WindSpeed3pm</th>\n",
       "      <th>Humidity9am</th>\n",
       "      <th>Humidity3pm</th>\n",
       "      <th>Pressure9am</th>\n",
       "      <th>Pressure3pm</th>\n",
       "      <th>Cloud9am</th>\n",
       "      <th>Cloud3pm</th>\n",
       "      <th>Temp9am</th>\n",
       "      <th>Temp3pm</th>\n",
       "      <th>RainToday</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Albury</td>\n",
       "      <td>13.4</td>\n",
       "      <td>22.9</td>\n",
       "      <td>0.6</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>W</td>\n",
       "      <td>44.0</td>\n",
       "      <td>W</td>\n",
       "      <td>WNW</td>\n",
       "      <td>...</td>\n",
       "      <td>24.0</td>\n",
       "      <td>71.0</td>\n",
       "      <td>22.0</td>\n",
       "      <td>1007.7</td>\n",
       "      <td>1007.1</td>\n",
       "      <td>8.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>16.9</td>\n",
       "      <td>21.8</td>\n",
       "      <td>No</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Albury</td>\n",
       "      <td>7.4</td>\n",
       "      <td>25.1</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>WNW</td>\n",
       "      <td>44.0</td>\n",
       "      <td>NNW</td>\n",
       "      <td>WSW</td>\n",
       "      <td>...</td>\n",
       "      <td>22.0</td>\n",
       "      <td>44.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>1010.6</td>\n",
       "      <td>1007.8</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>17.2</td>\n",
       "      <td>24.3</td>\n",
       "      <td>No</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Albury</td>\n",
       "      <td>12.9</td>\n",
       "      <td>25.7</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>WSW</td>\n",
       "      <td>46.0</td>\n",
       "      <td>W</td>\n",
       "      <td>WSW</td>\n",
       "      <td>...</td>\n",
       "      <td>26.0</td>\n",
       "      <td>38.0</td>\n",
       "      <td>30.0</td>\n",
       "      <td>1007.6</td>\n",
       "      <td>1008.7</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2.0</td>\n",
       "      <td>21.0</td>\n",
       "      <td>23.2</td>\n",
       "      <td>No</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Albury</td>\n",
       "      <td>9.2</td>\n",
       "      <td>28.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NE</td>\n",
       "      <td>24.0</td>\n",
       "      <td>SE</td>\n",
       "      <td>E</td>\n",
       "      <td>...</td>\n",
       "      <td>9.0</td>\n",
       "      <td>45.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>1017.6</td>\n",
       "      <td>1012.8</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>18.1</td>\n",
       "      <td>26.5</td>\n",
       "      <td>No</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Albury</td>\n",
       "      <td>17.5</td>\n",
       "      <td>32.3</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>W</td>\n",
       "      <td>41.0</td>\n",
       "      <td>ENE</td>\n",
       "      <td>NW</td>\n",
       "      <td>...</td>\n",
       "      <td>20.0</td>\n",
       "      <td>82.0</td>\n",
       "      <td>33.0</td>\n",
       "      <td>1010.8</td>\n",
       "      <td>1006.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>17.8</td>\n",
       "      <td>29.7</td>\n",
       "      <td>No</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>137500</th>\n",
       "      <td>Darwin</td>\n",
       "      <td>25.0</td>\n",
       "      <td>35.4</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7.4</td>\n",
       "      <td>11.7</td>\n",
       "      <td>N</td>\n",
       "      <td>39.0</td>\n",
       "      <td>NNE</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>20.0</td>\n",
       "      <td>57.0</td>\n",
       "      <td>42.0</td>\n",
       "      <td>1012.3</td>\n",
       "      <td>1008.1</td>\n",
       "      <td>2.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>31.4</td>\n",
       "      <td>34.3</td>\n",
       "      <td>No</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>137501</th>\n",
       "      <td>Darwin</td>\n",
       "      <td>26.5</td>\n",
       "      <td>35.9</td>\n",
       "      <td>0.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>10.3</td>\n",
       "      <td>N</td>\n",
       "      <td>35.0</td>\n",
       "      <td>E</td>\n",
       "      <td>NNW</td>\n",
       "      <td>...</td>\n",
       "      <td>20.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>40.0</td>\n",
       "      <td>1010.3</td>\n",
       "      <td>1007.3</td>\n",
       "      <td>6.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>31.4</td>\n",
       "      <td>35.1</td>\n",
       "      <td>No</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>137502</th>\n",
       "      <td>Darwin</td>\n",
       "      <td>27.4</td>\n",
       "      <td>35.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7.8</td>\n",
       "      <td>6.5</td>\n",
       "      <td>WNW</td>\n",
       "      <td>31.0</td>\n",
       "      <td>NE</td>\n",
       "      <td>NW</td>\n",
       "      <td>...</td>\n",
       "      <td>17.0</td>\n",
       "      <td>69.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>1011.0</td>\n",
       "      <td>1007.8</td>\n",
       "      <td>6.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>29.9</td>\n",
       "      <td>33.7</td>\n",
       "      <td>No</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>137503</th>\n",
       "      <td>Darwin</td>\n",
       "      <td>24.8</td>\n",
       "      <td>33.5</td>\n",
       "      <td>3.4</td>\n",
       "      <td>7.4</td>\n",
       "      <td>4.7</td>\n",
       "      <td>E</td>\n",
       "      <td>43.0</td>\n",
       "      <td>ENE</td>\n",
       "      <td>W</td>\n",
       "      <td>...</td>\n",
       "      <td>15.0</td>\n",
       "      <td>84.0</td>\n",
       "      <td>75.0</td>\n",
       "      <td>1010.8</td>\n",
       "      <td>1007.6</td>\n",
       "      <td>7.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>27.3</td>\n",
       "      <td>29.0</td>\n",
       "      <td>Yes</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>137504</th>\n",
       "      <td>Darwin</td>\n",
       "      <td>24.5</td>\n",
       "      <td>34.9</td>\n",
       "      <td>0.2</td>\n",
       "      <td>7.0</td>\n",
       "      <td>9.2</td>\n",
       "      <td>N</td>\n",
       "      <td>35.0</td>\n",
       "      <td>NE</td>\n",
       "      <td>NNW</td>\n",
       "      <td>...</td>\n",
       "      <td>22.0</td>\n",
       "      <td>71.0</td>\n",
       "      <td>53.0</td>\n",
       "      <td>1010.7</td>\n",
       "      <td>1006.8</td>\n",
       "      <td>6.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>30.1</td>\n",
       "      <td>33.4</td>\n",
       "      <td>No</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>65491 rows × 21 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       Location  MinTemp  MaxTemp  Rainfall  Evaporation  Sunshine  \\\n",
       "0        Albury     13.4     22.9       0.6          NaN       NaN   \n",
       "1        Albury      7.4     25.1       0.0          NaN       NaN   \n",
       "2        Albury     12.9     25.7       0.0          NaN       NaN   \n",
       "3        Albury      9.2     28.0       0.0          NaN       NaN   \n",
       "4        Albury     17.5     32.3       1.0          NaN       NaN   \n",
       "...         ...      ...      ...       ...          ...       ...   \n",
       "137500   Darwin     25.0     35.4       0.0          7.4      11.7   \n",
       "137501   Darwin     26.5     35.9       0.0          8.0      10.3   \n",
       "137502   Darwin     27.4     35.0       0.0          7.8       6.5   \n",
       "137503   Darwin     24.8     33.5       3.4          7.4       4.7   \n",
       "137504   Darwin     24.5     34.9       0.2          7.0       9.2   \n",
       "\n",
       "       WindGustDir  WindGustSpeed WindDir9am WindDir3pm  ...  WindSpeed3pm  \\\n",
       "0                W           44.0          W        WNW  ...          24.0   \n",
       "1              WNW           44.0        NNW        WSW  ...          22.0   \n",
       "2              WSW           46.0          W        WSW  ...          26.0   \n",
       "3               NE           24.0         SE          E  ...           9.0   \n",
       "4                W           41.0        ENE         NW  ...          20.0   \n",
       "...            ...            ...        ...        ...  ...           ...   \n",
       "137500           N           39.0        NNE          N  ...          20.0   \n",
       "137501           N           35.0          E        NNW  ...          20.0   \n",
       "137502         WNW           31.0         NE         NW  ...          17.0   \n",
       "137503           E           43.0        ENE          W  ...          15.0   \n",
       "137504           N           35.0         NE        NNW  ...          22.0   \n",
       "\n",
       "        Humidity9am  Humidity3pm  Pressure9am  Pressure3pm  Cloud9am  \\\n",
       "0              71.0         22.0       1007.7       1007.1       8.0   \n",
       "1              44.0         25.0       1010.6       1007.8       NaN   \n",
       "2              38.0         30.0       1007.6       1008.7       NaN   \n",
       "3              45.0         16.0       1017.6       1012.8       NaN   \n",
       "4              82.0         33.0       1010.8       1006.0       7.0   \n",
       "...             ...          ...          ...          ...       ...   \n",
       "137500         57.0         42.0       1012.3       1008.1       2.0   \n",
       "137501         65.0         40.0       1010.3       1007.3       6.0   \n",
       "137502         69.0         48.0       1011.0       1007.8       6.0   \n",
       "137503         84.0         75.0       1010.8       1007.6       7.0   \n",
       "137504         71.0         53.0       1010.7       1006.8       6.0   \n",
       "\n",
       "        Cloud3pm  Temp9am  Temp3pm  RainToday  \n",
       "0            NaN     16.9     21.8         No  \n",
       "1            NaN     17.2     24.3         No  \n",
       "2            2.0     21.0     23.2         No  \n",
       "3            NaN     18.1     26.5         No  \n",
       "4            8.0     17.8     29.7         No  \n",
       "...          ...      ...      ...        ...  \n",
       "137500       2.0     31.4     34.3         No  \n",
       "137501       3.0     31.4     35.1         No  \n",
       "137502       7.0     29.9     33.7         No  \n",
       "137503       7.0     27.3     29.0        Yes  \n",
       "137504       6.0     30.1     33.4         No  \n",
       "\n",
       "[65491 rows x 21 columns]"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "numeric_features = ['MinTemp', 'MaxTemp', 'Rainfall', 'Evaporation', 'Sunshine', 'WindGustSpeed', 'WindSpeed9am', 'WindSpeed3pm', 'Humidity9am', 'Humidity3pm', 'Pressure9am', 'Pressure3pm', 'Cloud9am', 'Cloud3pm', 'Temp9am', 'Temp3pm']\n",
    "categorical_features = ['Location', 'WindGustDir', 'WindDir9am', 'WindDir3pm', 'RainToday']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Make sure all columns are accounted for:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "all_features = numeric_features + categorical_features"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "assert set(X_train.columns) == set(all_features)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Next, I perform similar transformations to what you've seen in the course, using `SimpleImputer`, `StandardScaler`, and `OneHotEncoder`. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "imputers = [('num', SimpleImputer(strategy='median'), numeric_features),\n",
    "    ('cat', SimpleImputer(strategy='most_frequent'), categorical_features)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "impute_transformer = ColumnTransformer(transformers=imputers)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "impute_transformer.fit(X_train);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_train_imp = pd.DataFrame(impute_transformer.transform(X_train), index=X_train.index, columns=all_features)\n",
    "X_valid_imp = pd.DataFrame(impute_transformer.transform(X_valid), index=X_valid.index, columns=all_features)\n",
    "X_test_imp  = pd.DataFrame(impute_transformer.transform(X_test),  index=X_test.index,  columns=all_features)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Below, we use `drop='first'` for all the columns except 'Location':"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "transformers=[\n",
    "    ('scale', StandardScaler(), numeric_features),\n",
    "    ('ohe1', OneHotEncoder(sparse=False, handle_unknown='ignore'), ['Location']),\n",
    "    ('ohe2', OneHotEncoder(sparse=False, drop='first'), categorical_features[1:])]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "preprocessor = ColumnTransformer(transformers=transformers)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "preprocessor.fit(X_train_imp);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "new_columns = numeric_features + list(preprocessor.named_transformers_['ohe1'].get_feature_names(['Location'])) + list(preprocessor.named_transformers_['ohe2'].get_feature_names(categorical_features[1:]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_train_transformed = pd.DataFrame(preprocessor.transform(X_train_imp), index=X_train_imp.index, columns=new_columns)\n",
    "X_valid_transformed = pd.DataFrame(preprocessor.transform(X_valid_imp), index=X_valid_imp.index, columns=new_columns)\n",
    "X_test_transformed  = pd.DataFrame(preprocessor.transform(X_test_imp),  index=X_test_imp.index,  columns=new_columns)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Q2\n",
    "\n",
    "The `RainToday` feature is binary: it only takes on the values \"Yes\" or \"No\". I used `OneHotEncoder` to one-hot encode this feature with `drop='first'`. What differences we would observe, if any, had we instead used `OrdinalEncoder` for `RainToday`? Briefly justify your answer. **Maximum 2 sentences.**\n",
    "\n",
    "<br><br><br><br><br><br><br><br>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---------------"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Next, I'll use a `DummyClassifier` like the one you implemented in hw4:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "dc = DummyClassifier(strategy='prior')\n",
    "dc.fit(X_train_transformed, y_train);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.7669756149699959"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dc.score(X_train_transformed, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.7896625137990854"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dc.score(X_valid_transformed, y_valid)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Q3\n",
    "\n",
    "Given the above, quantify the level of class imbalance in this dataset. Briefly justify your answer. **Maximum 2 sentences.**\n",
    "\n",
    "<br><br><br><br><br><br><br><br>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---------------"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Next, we fit a `DecisionTreeClassifier` where the maximum depth of the tree is 2. We set `max_features=5` only because it makes the exam question more interesting, not because it's a good idea."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "dt = DecisionTreeClassifier(max_depth=2, max_features=5, random_state=321)\n",
    "dt.fit(X_train_transformed, y_train);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We then visualize the tree:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
       " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
       "<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
       " -->\n",
       "<!-- Title: Tree Pages: 1 -->\n",
       "<svg width=\"598pt\" height=\"269pt\"\n",
       " viewBox=\"0.00 0.00 597.50 269.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 265)\">\n",
       "<title>Tree</title>\n",
       "<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-265 593.5,-265 593.5,4 -4,4\"/>\n",
       "<!-- 0 -->\n",
       "<g id=\"node1\" class=\"node\">\n",
       "<title>0</title>\n",
       "<polygon fill=\"none\" stroke=\"#000000\" points=\"374,-261 225,-261 225,-193 374,-193 374,-261\"/>\n",
       "<text text-anchor=\"middle\" x=\"299.5\" y=\"-245.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">Humidity3pm &lt;= 0.859</text>\n",
       "<text text-anchor=\"middle\" x=\"299.5\" y=\"-230.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 65491</text>\n",
       "<text text-anchor=\"middle\" x=\"299.5\" y=\"-215.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [50230, 15261]</text>\n",
       "<text text-anchor=\"middle\" x=\"299.5\" y=\"-200.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = No</text>\n",
       "</g>\n",
       "<!-- 1 -->\n",
       "<g id=\"node2\" class=\"node\">\n",
       "<title>1</title>\n",
       "<polygon fill=\"none\" stroke=\"#000000\" points=\"298.5,-157 132.5,-157 132.5,-89 298.5,-89 298.5,-157\"/>\n",
       "<text text-anchor=\"middle\" x=\"215.5\" y=\"-141.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">WindDir9am_NNE &lt;= 0.5</text>\n",
       "<text text-anchor=\"middle\" x=\"215.5\" y=\"-126.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 52676</text>\n",
       "<text text-anchor=\"middle\" x=\"215.5\" y=\"-111.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [45094, 7582]</text>\n",
       "<text text-anchor=\"middle\" x=\"215.5\" y=\"-96.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = No</text>\n",
       "</g>\n",
       "<!-- 0&#45;&gt;1 -->\n",
       "<g id=\"edge1\" class=\"edge\">\n",
       "<title>0&#45;&gt;1</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M271.9953,-192.9465C264.8159,-184.0578 256.9924,-174.3716 249.519,-165.1188\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"252.0727,-162.7102 243.0665,-157.13 246.6271,-167.1086 252.0727,-162.7102\"/>\n",
       "<text text-anchor=\"middle\" x=\"240.4219\" y=\"-178.2897\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">True</text>\n",
       "</g>\n",
       "<!-- 4 -->\n",
       "<g id=\"node5\" class=\"node\">\n",
       "<title>4</title>\n",
       "<polygon fill=\"none\" stroke=\"#000000\" points=\"450.5,-157 316.5,-157 316.5,-89 450.5,-89 450.5,-157\"/>\n",
       "<text text-anchor=\"middle\" x=\"383.5\" y=\"-141.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">Temp9am &lt;= &#45;1.596</text>\n",
       "<text text-anchor=\"middle\" x=\"383.5\" y=\"-126.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 12815</text>\n",
       "<text text-anchor=\"middle\" x=\"383.5\" y=\"-111.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [5136, 7679]</text>\n",
       "<text text-anchor=\"middle\" x=\"383.5\" y=\"-96.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = Yes</text>\n",
       "</g>\n",
       "<!-- 0&#45;&gt;4 -->\n",
       "<g id=\"edge4\" class=\"edge\">\n",
       "<title>0&#45;&gt;4</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M327.0047,-192.9465C334.1841,-184.0578 342.0076,-174.3716 349.481,-165.1188\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"352.3729,-167.1086 355.9335,-157.13 346.9273,-162.7102 352.3729,-167.1086\"/>\n",
       "<text text-anchor=\"middle\" x=\"358.5781\" y=\"-178.2897\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">False</text>\n",
       "</g>\n",
       "<!-- 2 -->\n",
       "<g id=\"node3\" class=\"node\">\n",
       "<title>2</title>\n",
       "<polygon fill=\"none\" stroke=\"#000000\" points=\"141,-53 0,-53 0,0 141,0 141,-53\"/>\n",
       "<text text-anchor=\"middle\" x=\"70.5\" y=\"-37.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 49724</text>\n",
       "<text text-anchor=\"middle\" x=\"70.5\" y=\"-22.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [42711, 7013]</text>\n",
       "<text text-anchor=\"middle\" x=\"70.5\" y=\"-7.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = No</text>\n",
       "</g>\n",
       "<!-- 1&#45;&gt;2 -->\n",
       "<g id=\"edge2\" class=\"edge\">\n",
       "<title>1&#45;&gt;2</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M164.3784,-88.9777C149.6561,-79.1798 133.6421,-68.5222 119.0785,-58.8298\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"120.9561,-55.8752 110.692,-53.2485 117.0778,-61.7026 120.9561,-55.8752\"/>\n",
       "</g>\n",
       "<!-- 3 -->\n",
       "<g id=\"node4\" class=\"node\">\n",
       "<title>3</title>\n",
       "<polygon fill=\"none\" stroke=\"#000000\" points=\"286,-53 159,-53 159,0 286,0 286,-53\"/>\n",
       "<text text-anchor=\"middle\" x=\"222.5\" y=\"-37.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 2952</text>\n",
       "<text text-anchor=\"middle\" x=\"222.5\" y=\"-22.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [2383, 569]</text>\n",
       "<text text-anchor=\"middle\" x=\"222.5\" y=\"-7.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = No</text>\n",
       "</g>\n",
       "<!-- 1&#45;&gt;3 -->\n",
       "<g id=\"edge3\" class=\"edge\">\n",
       "<title>1&#45;&gt;3</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M217.9679,-88.9777C218.5724,-80.6449 219.222,-71.6903 219.8352,-63.2364\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"223.3269,-63.4755 220.5597,-53.2485 216.3453,-62.969 223.3269,-63.4755\"/>\n",
       "</g>\n",
       "<!-- 5 -->\n",
       "<g id=\"node6\" class=\"node\">\n",
       "<title>5</title>\n",
       "<polygon fill=\"none\" stroke=\"#000000\" points=\"437.5,-53 317.5,-53 317.5,0 437.5,0 437.5,-53\"/>\n",
       "<text text-anchor=\"middle\" x=\"377.5\" y=\"-37.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 778</text>\n",
       "<text text-anchor=\"middle\" x=\"377.5\" y=\"-22.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [457, 321]</text>\n",
       "<text text-anchor=\"middle\" x=\"377.5\" y=\"-7.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = No</text>\n",
       "</g>\n",
       "<!-- 4&#45;&gt;5 -->\n",
       "<g id=\"edge5\" class=\"edge\">\n",
       "<title>4&#45;&gt;5</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M381.3846,-88.9777C380.8665,-80.6449 380.3098,-71.6903 379.7841,-63.2364\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"383.277,-63.012 379.1631,-53.2485 376.2905,-63.4464 383.277,-63.012\"/>\n",
       "</g>\n",
       "<!-- 6 -->\n",
       "<g id=\"node7\" class=\"node\">\n",
       "<title>6</title>\n",
       "<polygon fill=\"none\" stroke=\"#000000\" points=\"589.5,-53 455.5,-53 455.5,0 589.5,0 589.5,-53\"/>\n",
       "<text text-anchor=\"middle\" x=\"522.5\" y=\"-37.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 12037</text>\n",
       "<text text-anchor=\"middle\" x=\"522.5\" y=\"-22.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [4679, 7358]</text>\n",
       "<text text-anchor=\"middle\" x=\"522.5\" y=\"-7.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = Yes</text>\n",
       "</g>\n",
       "<!-- 4&#45;&gt;6 -->\n",
       "<g id=\"edge6\" class=\"edge\">\n",
       "<title>4&#45;&gt;6</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M432.5062,-88.9777C446.4874,-79.2713 461.6838,-68.7213 475.5398,-59.1018\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"477.7526,-61.8264 483.9711,-53.2485 473.7606,-56.0763 477.7526,-61.8264\"/>\n",
       "</g>\n",
       "</g>\n",
       "</svg>\n"
      ],
      "text/plain": [
       "<graphviz.files.Source at 0x1a18b61790>"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "graphviz.Source(export_graphviz(dt, out_file=None, feature_names=new_columns,\n",
    "                                class_names=dt.classes_, impurity=False))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note: for some reason, the arrows are not labeled on the second level, but you can assume that the left side branch is always True and the right branch is always False. So, the 4 arrows in the second level should be  labelled True, False, True, False if reading from left to right."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here is the first element of the validation set. First I print out (a subset of) the **transformed** numerical variables:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Humidity3pm</th>\n",
       "      <th>Pressure9am</th>\n",
       "      <th>Pressure3pm</th>\n",
       "      <th>Cloud9am</th>\n",
       "      <th>Cloud3pm</th>\n",
       "      <th>Temp9am</th>\n",
       "      <th>Temp3pm</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1416</th>\n",
       "      <td>-1.79</td>\n",
       "      <td>-0.7</td>\n",
       "      <td>-0.88</td>\n",
       "      <td>0.19</td>\n",
       "      <td>0.16</td>\n",
       "      <td>0.89</td>\n",
       "      <td>1.71</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      Humidity3pm  Pressure9am  Pressure3pm  Cloud9am  Cloud3pm  Temp9am  \\\n",
       "1416        -1.79         -0.7        -0.88      0.19      0.16     0.89   \n",
       "\n",
       "      Temp3pm  \n",
       "1416     1.71  "
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_valid_transformed[numeric_features].iloc[:1,9:]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And then I print out the **un-transformed** categorical features:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Location</th>\n",
       "      <th>WindGustDir</th>\n",
       "      <th>WindDir9am</th>\n",
       "      <th>WindDir3pm</th>\n",
       "      <th>RainToday</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1416</th>\n",
       "      <td>Albury</td>\n",
       "      <td>W</td>\n",
       "      <td>SE</td>\n",
       "      <td>W</td>\n",
       "      <td>No</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     Location WindGustDir WindDir9am WindDir3pm RainToday\n",
       "1416   Albury           W         SE          W        No"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_valid[categorical_features].iloc[:1]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Q4\n",
    "\n",
    "Describe the path of this example down the tree. Which of the four bottom nodes does it end up at: the 1st, 2nd, 3rd or 4th? **Maximum 3 sentences.**\n",
    "\n",
    "<br><br><br><br><br><br><br><br><br><br><br>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---------------"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The following code grabs 4 numeric features - but I'm not telling you which ones."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "np.random.seed(1) # set random state\n",
    "some_numeric_features = np.random.permutation(numeric_features)[10:14]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In hw2, for the spotify dataset, you looked at histograms of various feature values split up by target class. The following code creates 4 such histograms, one for each of the 4 randomly chosen numeric features, using the training set."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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7t6tK4/cdAlfGrQxHTqsSAEdOqzGlwZtzMO//Sndu3UteXyxDjnkEPbaay+OOeYY5s6dyzPPPMOVV17J6NGj2XTTTVeKHTduHNtssw3du3enT58+HHjggbz99tsrxdx0000MHjyY1Vdfnd69ezN48GBuvPHGVrfPzKy1yp1vm4pvjfaej13smmVc1y6dC24bvNlAli37dPm2Zcs+ZesvbFy2+Nb45S9/ycKFCznppJP4/ve/z1ZbbcWpp566UszVV1/NQQcdxNZbb82dd97JmDFjePrpp9lpp51YuDAZ0vHII49wxBFH8I1vfIPx48fzhz/8gcMPP5y5c+e2qX1mZq1R7nzbVHxrted87BvUzOrUP59/hY4dO7D+2slUZW/OnMVTz79S8vi2WHfddbniiis48sgj6dSpE08//TQdOqw45ty5cznrrLP40Y9+xJgxKyaP//KXv8ygQYO4+eab+dGPfsQTTzzB2muvzRVXXLE8ZrfddmtT28zMWmPAemuXLd+2NL412nM+ds+uWZ3q1LEjv7vkZF576Ne8+uCv+N0lJ9OpieK0tfFt9YMf/IB11lmHvffemy22WPlmkkmTJrFw4UIOPvhgli5duvwxcOBABg4cyOOPPw7ANttsw7vvvsvhhx/O/fffz7x589rcLjOz1ihnvm1pfGu113zsnl2zjIuIVaafiQgm3nIZnTqtSAHf/dZOfHv37csW3xadO3emc+dVL8e9//77AGy33XYF3zdgwAAAdt11V26//XauvfZahg8fjiSGDRvGlVdeyeabb16SNpqZtUSHDh3Knm+bim+r9piPXeyaZcyC2bPyNuT91dxjLSQVLEQbK05LFV9qa665JgC33XYbn/vc51bZ36tXr+X/PvDAAznwwAOZP38+jz76KKeffjp77rkn06dPL3s7zaw6Jo0b03TAvtdVpiEFlDvfViIH56rlfOxi18zarR122IFu3brx+uuvc9BBB7XoPT179mTEiBG8/PLLnHHGGcybN2+lJGxmZsWr5XzsYtcsY3r07bfS665zewPws+t/nzyfcliLjjP6mrHJ8/GHlCW+FPr27cull17KKaecwjvvvMNuu+1Gz549efvtt5kwYQJ77LEH+++/P2eeeSbz5s1j6NChrLPOOsyYMYMxY8aw7bbbutA1y7DtDzim2k1okXLn20rk51rOxy52zTLu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\n",
      "text/plain": [
       "<Figure size 720x720 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "X_train_neg = X_train_transformed[y_train == \"No\"]\n",
    "X_train_pos = X_train_transformed[y_train == \"Yes\"]\n",
    "\n",
    "plt.figure(figsize=(10,10))\n",
    "for i, feature in enumerate(some_numeric_features):\n",
    "\n",
    "    plt.subplot(2,2,i+1)\n",
    "    plt.hist(X_train_neg[feature], alpha=0.6, bins=30, label=\"No\", hatch=\"-\")\n",
    "    plt.hist(X_train_pos[feature], alpha=0.3, bins=30, label=\"Yes\", hatch=\"*\")\n",
    "    plt.legend(loc='upper right')\n",
    "    plt.xlabel('some feature')\n",
    "    plt.ylabel(\"count\")\n",
    "    plt.title(f\"Histogram {i+1}\")\n",
    "plt.tight_layout();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Q5\n",
    "\n",
    "I haven't told you which feature is being used to generate each histogram. Based on the decision tree visualization above, which of the 4 histograms (Histogram 1, Histogram 2, Histogram 3, or Histogram 4) do you think corresponds to the feature `Humidity3pm`? Briefly justify your answer. **Maximum 3 sentences.**\n",
    "\n",
    "Hint: `Humidity3pm <= 0.859` was chosen by `DecisionTreeClassifier` to be the very first split (i.e., it's at the top of the tree). This indicates that it's a useful split for separating the classes.\n",
    "\n",
    "<br><br><br><br><br><br><br><br><br><br><br>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---------------"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Next, I'll fit a logistic regression:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "lr = LogisticRegression(max_iter=200)\n",
    "lr.fit(X_train_transformed, y_train);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.8466201462796414"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lr.score(X_train_transformed, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.853887399463807"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lr.score(X_valid_transformed, y_valid)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Q6\n",
    "\n",
    "Given the above, would it make more sense to try increasing or decreasing the `C` hyperparameter? As a reminder, increasing `C` increases model complexity. Briefly justify your answer. **Maximum 2 sentences.**\n",
    "\n",
    "<br><br><br><br><br><br><br><br>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---------------"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The following are some of the coefficients learned by `LogisticRegression` (only some of them are shown):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Coefficient</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>MinTemp</th>\n",
       "      <td>0.11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>MaxTemp</th>\n",
       "      <td>-0.56</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Rainfall</th>\n",
       "      <td>0.11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Evaporation</th>\n",
       "      <td>0.05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Sunshine</th>\n",
       "      <td>-0.33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>WindDir3pm_SW</th>\n",
       "      <td>-0.05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>WindDir3pm_W</th>\n",
       "      <td>0.03</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>WindDir3pm_WNW</th>\n",
       "      <td>0.15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>WindDir3pm_WSW</th>\n",
       "      <td>-0.05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>RainToday_Yes</th>\n",
       "      <td>0.45</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>108 rows × 1 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                Coefficient\n",
       "MinTemp                0.11\n",
       "MaxTemp               -0.56\n",
       "Rainfall               0.11\n",
       "Evaporation            0.05\n",
       "Sunshine              -0.33\n",
       "...                     ...\n",
       "WindDir3pm_SW         -0.05\n",
       "WindDir3pm_W           0.03\n",
       "WindDir3pm_WNW         0.15\n",
       "WindDir3pm_WSW        -0.05\n",
       "RainToday_Yes          0.45\n",
       "\n",
       "[108 rows x 1 columns]"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.DataFrame(data=lr.coef_[0], index=X_train_transformed.columns, columns=[\"Coefficient\"])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Q7\n",
    "\n",
    "You will notice that `Evaporation` has a positive coefficient. True or False: increasing the `Evaporation` value (and leaving all other features fixed) will increased the predicted probability that it will rain tomorrow (i.e., the positive class). Briefly justify your answer. **Maximum 2 sentences.**\n",
    "\n",
    "<br><br><br><br><br><br><br><br>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---------------"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Q8\n",
    "\n",
    "You will notice that `WindDir3pm_W`, which is a binary variable created by the `OneHotEncoder`, has a positive coefficient. True or False: an observation with `WindDir3pm` equal to 'W' will have a higher  predicted probability that it will rain tomorrow (i.e., the positive class) than an observation with `WindDir3pm` equal to any other value (leaving all other original features fixed). Briefly justify your answer. **Maximum 2 sentences.**\n",
    "\n",
    "<br><br><br><br><br><br><br><br>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---------------"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Next I will train a random forest on this dataset:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "rf = RandomForestClassifier(random_state=123)\n",
    "rf.fit(X_train_transformed, y_train);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here's the confusion matrix based on the **training** set:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXMAAAEVCAYAAAASFwXVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3dd5gUVfb/8fcHGJKCDCgCKgKiCAgm3BUDKLqKCUUU1ozs4qq75siirgoqRnTXRcwJf4pxBUVRFDFhgi8oIChKEEERhgwSz++PWwM9Tc9MNfQwPTPntU89PV11qup24565c+sGmRnOOefKtkqlXQDnnHNbz5O5c86VA57MnXOuHPBk7pxz5YAnc+ecKwc8mTvnXDngydw5V+5JOkKSpdgWJ8XlSnpM0gJJKySNktQmxfWqS7pb0jxJqySNldQhRVwlSX0kzZT0u6SJkroVUsbekqZKWi1pmqQL0/mMnsydcxXJpUD7hO3o/AOSBAwDOgOXAN2AHGC0pF2TrvM40Bu4CTgRmAeMlLRfUlw/4GbgQeA44DPgJUnHJwZJ6g08DLwS3f8lYJCki+J+MPmgIedceSfpCGA08CczG1VIzMnA/4BOZjY62rcDMAMYYmaXRvv2BSYAvczsyWhfFWAyMM3MukT76gM/AQPM7F8J93kP2MnM2iacOxd4y8zOS4h7AugCNDSztcV9Rq+ZO+dc0AWYm5/IAcxsCTAcODkpbi0wNCFuHfACcKykatHuY4GqwJCk+wwB2khqGr1vD+yUIu5ZoB5wWJzCV4kTVN6oSg1T1VqlXQyXhv1bNi7tIrg0zJo1kwULFmhrrlG59u5m61bFirVVv400s84xQp+TtCOwGBgJXG9ms6NjrYFJKc6ZDJwraXszWx7FzTCzlSniqgLNo59bA6uB6SniAFoRav2to/fJ906MG00xKmYyr1qLai26l3YxXBo++fzB0i6CS8Ohf2y31dewdati///09wn/3VvSVwm7HjGzRxLeLwHuBcYAS4H9gX8CYyXtb2bzgbrAzBSXz4tec4HlUdyiIuLqJrwuts3bslPFkeKayXFFqpDJ3DlXFggUuyV4gZkV+hvEzP4P+L+EXWMkfQh8QXgoekO4IakeIib/hVEScRQSG5snc+dcdhJQqXKJXd7Mxkv6Djgo2pVH6lpwbvS6KCEuVbtfbsLx/NdcSUqqnaeKI7r3vIS4uknHi+QPQJ1z2UuKt23FHdhUI85v507WCpgdtZfnxzWVVDNF3Bo2tZFPBqoBe6SIA5iSEEeKeyfHFcmTuXMuS0XNLHG2Lbm61A7YC/g82jUM2EVSx4SY2sBJ0TES4nKA0xPiqgA9gHfMbHW0+21Ccj8r6dZnA5PMbEb0fiywoJC4POCTOJ/Hm1mcc9lr62rdCZfRc4SeI+MJPVn2B/oAPwP/icKGERLrEEnXEJpV+hBq73flX8vMJkgaCtwvKSe67kVAUxISspnNlzQQ6CNpWXTvHkAnEro6mtlaSTcSBgn9DIyKYnoBl5jZmjif0ZO5cy47iS2udacwCTiDMLKzJvAL8CrwLzNbAGBmGySdCNwDDAKqE5L7kWb2U9L1zgduA/oDdYCJQGczG58U15fQA+YyoAEwDehuZsMTg8xssCQDrgKuAWYD/zCzQXE/YIUcAVqpZn3zrolly6IvvWtiWXLoH9sxbtxXW1WtrrR9Q6vW5rziA4HfP7tzXFG9WSoCr5k757JXCfZmKW88mTvnslRa/cwrPE/mzrnsJDL2ALQi8GTunMteXjOPzZO5cy5LeTNLOjyZO+eyk4DK/gA0Lk/mzrns5W3msXkyd85lKW9mSYcnc+dc9vKaeWyezJ1z2ctr5rF5MnfOZaetn962QvFk7pzLXj6cPzZP5s65LOUPQNPhydw5l728mSU2T+bOueyU2fnMyz1P5s65LOXNLOnwZO6cy17+ADQ2T+bOuezlbeaxeTJ3zmUneTNLOjyZO+eyl9fMY/Nk7pzLWvJkHpsnc+dcVgqrxnkyj8uTuXMuO0mokifzuDyZO+eyltfM4/Nk7pzLWp7M4/Nk7pzLWp7M4/Nk7pzLToo2F4snc+dcVhLymnkaPJk757JWpUo+AjQuT+bOuazlNfP4/Neecy47KY1tSy4vvS3JJPVP2p8r6TFJCyStkDRKUpsU51eXdLekeZJWSRorqUOKuEqS+kiaKel3SRMldSukTL0lTZW0WtI0SRfG/TyezJ1zWUtSrG0LrnsGsG+K/QKGAZ2BS4BuQA4wWtKuSeGPA72Bm4ATgXnASEn7JcX1A24GHgSOAz4DXpJ0fNK9ewMPA69E938JGCTpojifyZtZnHNZqaQegEqqAwwErgD+X9LhLsBhQCczGx3FjwVmANcCl0b79gXOBHqZ2ZPRvjHAZODW6DpIqg9cDQwws3uie4yW1BwYAIyI4qoAtwHPmlnfhLhGQD9Jj5nZ2qI+l9fMnXNZS5UUa0vTXcBkM3s+xbEuwNz8RA5gZkuA4cDJSXFrgaEJceuAF4BjJVWLdh8LVAWGJN1nCNBGUtPofXtgpxRxzwL1CL9giuTJ3DmXnZT5ZhZJhwHnAhcXEtIamJRi/2SgsaTtE+JmmNnKFHFVgeYJcauB6SniAFolxJHi3slxhfJk7pzLWplM5pJyCG3S95jZtELC6gKLUuzPi15zY8bVTXhdbGYWI44U10yOK5S3mTvnslYate4dJX2V8P4RM3skKeY6oAahbbrQWwLJiTd/f0nHUUhsLJ7MnXNZKc0HoAvMrF2h15IaA32BvwLVEtq0id7XAZYRasKpasH5NfL8mnMe0LiIuLyE11xJSqqdp4ojuve8hLi6SccL5c0szrnslbl+5s2A6oQHjIsSNgi9TRYBbQht1K1TnN8KmG1my6P3k4GmkmqmiFvDpjbyyUA1YI8UcQBTEuJIce/kuEJ5zXwbOvSAPXnj4cs2279k2UqadLp24/sdatXg1ku7csIRbaleLYcvv5lB3/teZcoPczfG7NeyMed1PZRD9t+DXRvUJW/xcsZO+IH+D73B7LkLN8ZtX7Ma/77hLPbdezd23rE269at5/tZ83n0xTG8+NaXBcohicvP+xM9ux5K/Xq1mT7rV+567G2Gj55QAt9GxTXnl0X0HfgKoz+fCkDHg1pw+1Xd2K1Bsc2iFYsyOpx/AnBkiv2jCQn+cUICHgacL6mjmY0BkFQbOImC3RiHAbcApwNPR3FVgB7AO2a2Oop7m5Dcz4ri850NTDKzGdH7scCCKG5UUlwe8ElxH9CTeSm49u6X+L8psza+X7d+Q4Hjz9/7Nxo3qsd1d7/E4mUruaLnMQwbfCkdzhrA3PmLATj1mANp2awBjwwdw7c/zqPRTnW4+i+dGf30tXQ4+w5+/jXE5eRUYf36DQx86h1mz1tItZwqdP3TgTx863nUq7M9Dz2/sQcWfS88kX+c3Yn+D73BhG9n0+2YA3lqQC/+fMVg3v202IqBi2Hl72s4+eJ/UzWnCg/dfA6S6P/QcLpc+G8+fr4P29WoVvxFKpBM9TM3s8XAB4Vcf5aZfRC9H0ZIrEMkXUOosfch1P/vSrjeBElDgfujB6szgIuApoSEnB83X9JAoI+kZcB4QsLvREJXRzNbK+lGwiChnwkJvRPQC7jEzNYU9xmzJplL6gk8CSwBmprZooRjVQh9Om8xs5tLpYAZ9N3MX/hq0syUx47r0Ib2+zfnpAsf4ONx3wPw5dczmPD6LVx6ztFcf+/LADzw9LssXLy8wLmfT/yBCa/fwrmnHModD78JwKIlK+h941MF4t79dAp7NK7P2V3ab0zmO+Zuzz/O7sT9T7/Lg0PeA+Djcd/TdLed+Nc/TvZkniHPvPYJM39ewJcv30Sz3XYCoHXzRhzY7VaeevVj/n7WUaVcwiyzjadmMbMNkk4E7gEGEZpmxgJHmtlPSeHnEx6m9gfqABOBzmY2PimuL7AcuAxoAEwDupvZ8KR7D5ZkwFXANcBs4B9mNihO2bOxzXwHwlPnCum4Dm2YO3/xxkQOsHTF77z90SSO79h2477kRA7w0y+LWLBoOQ132qHY+yxasoK169ZvfH/UwS2pVjVns6aXF9/6ktZ77kLjRvW25OO4JG99+A3t9mm6MZED7L7LjvyxbTNGjPmmFEuWnUpqOH8+M5OZ3ZC0L8/MeplZXTOraWZHmdnEFOeuMrMrzayBmVU3sz/m1/CT4tabWX8z293MqplZWzN7uZDyPGxme0Vxe8ZN5JCdyfwd4BJJDUq7ICXlkVvPY8Fn/+aHd+/k0X492XXn3I3H9m7WkG9/mLfZOVN/nMduDeuyXY2qhV53ryY7U79ebb6b+WvK45UrVyJ3h+04r+uhdGrfskATy957NOT31Wv58affCt43KsveTcvtP8c2NfXHebTco+Fm+/du1pBpM34phRJlr7iJvCSG/JdFWdPMkqA/4aFBX8JENylJ+gNwO3Aw4Y+xz4A+ZvbFtijklli6fBX/GfIen47/nqUrfqdti125suexjHziKjqePYAFi5aTW3s7fpq3eS+kRUtXAFCndk1WrNq8+axy5Urc1+fP/Ja3jGdf/3Sz471P78Bd13YHYM3adfS592WGjtj0VdWpvR1Llq8q9L65tZMf2rstsWjpSurU2vy7zN2hJouXJQ8mdJ6o48vGZD6PMLvY5ZLuMbNZyQGS2gJjCN11ehI62l8PjJF0cKo/ibLBN9/N4Zvv5mx8/+n46Xw6fjrvPXUNf+txBLcNfgMJNh8sVvx/1Hdf050/tG1Gj8sfYsmyzZPyq++O58tJM6lXZzuO69CGO68+nfXrN/DUa59E19+y+7r0pfpKU333ji2Zd6XCysZkDnAn8DfgX4SnucluIsx3cFT0lBpJ7wIzo3NOTT5B0gXABQDkbJ98uNR8PW0O02fPZ/9WuwNRza32dpvF5dfmFi/dvPZ209+7cF7XQ7j45mc3dndLtnDx8o3t7O+N/ZYa1aty62VdGTJsLOvWb2DxktQ1xvx9i1Lc16WvTu2aKb/LxUtXpfz+KzqvTMSXjW3mmFkecC9wrqQWKUI6AG/kJ/LonKWEvp8dC7nmI2bWzszaqUqNkij2FpOERaN4p/44j72bbd4+3aJZA36al7dZE8tV5x/LFT2P4fp7X2Fo0sPLokyYMpta21Wnfr3aAHz74zyqV8uh6a47bnZfgKnenpsRezdryNQfN38mMm3GPFr4c4mCSmCirfIsK5N5ZCChs/ytKY4lD3nN9wubhsmWCfu1bEzzxvUZF3VVfOvDb9hl51wOOaD5xpha21Wn82FteOvDgr0dLujRkRsuPol+/x3Goy+OSeu+hxzQnGUrfue3vGUAvDd2CqvXrOX0zgcViOt+3EFMmT63wEAkt+WOO7wNX02aycw5Czbumz13IZ9P/JHjOmy2mE2FJkKTVJzNZW8zC2a2XNIdhBr63UmH8wj9NZM1IMYcBqXlkX7nMevnhUyc9hNLlq2ibYtduaLnMcz7bTGPDA3J+K0Pv+GLr3/kkVvP46YH/rdx0JAE/3723Y3XOvVPB3LHld0Y9elkPvzqO9rt02TjsWUrft/YM6Jn10Np16YpY76Yys/zF1N3h+3oevQBnHL0Adz8n/9t7J64YNFyHnp+NFf0PIblK1czcepPnPqnA+jQbi/Oujp5viK3pc7tegiPvjSGM69+mBsuOgmA2x9+k112zqXnqcVOWV3BeK07HVmbzCODgCsJPVwSjQFOkFTLzJYBSKpFGHL7wTYtYRq+/WEe3Y45kAt6dKRG9arMX7iU4aMnMuDhN8lbEnqNmBk9rhhMv8u6cs913akWDefvctG/N47qBDjqkJZUqlSJow9pzdGHFJzO4eNx33PShQ8AMOWHuRzfsS23XtaV3No1Wbh4Bd/N/IUelz/EO59MLnBev0HDWb5yNRf++Qjq16vF9FnzOb/PE7z9Uarpnd2W2K5GNV5/6FL63vcKF/7rGcyMDge14I4ru7F9TR/9maySPwCNTdnyFD1hBOieZjY9YX9vIL9qeIuZ3Rz1Zvkc+IbwsNQIA43aAsX2ZqlUs75Va9E98x/ClZhFXz5Y2kVwaTj0j+0YN+6rrcrE1RvuZU3O+0+s2Gl3dh5X1KyJFUE2t5nnexL4PnGHmX0NHAEsJUxy8yxhuGzHbO2W6JxLjwg18ziby6JmFjN7Cngqxf51wF4p9n8OHF3iBXPOlRpvMo8va5K5c84l8weg8Xkyd85lJ+92mBZP5s65rCSUycUpyj1P5s65rOU18/g8mTvnspa3mcfnydw5l528zTwtnsydc1kpzM3i2TwuT+bOuazluTy+QpO5pLTGu5vZi1tfHOec28RHd8ZXVM38hTSuY4Anc+dc5sibWdJRVDJvuc1K4ZxzSfLnM3fxFJrMzWzatiyIc84V5POZpyOtB6DREm6HA/WAp8zsV0m7AQvNzBeJdM5llOfy+GIlc0k5wBPAmYS/fgx4F/gVeBCYDPyzhMronKuI5A9A0xF34oN+QBegN7A7IaHnGwEcm+FyOecquPx+5r6gczxxm1nOAm40syckVU469iPQNLPFcs45782SjrjJfCegqIUgq2egLM45V4Dn8vjiNrPMAg4q5Fg7kpZ1c865TPBmlvjiJvMhQF9J3YD8ZhaT1B64khTLvTnn3FaJJtqKs7n4zSx3AAcALxEWTgYYDdQCXgPuz3zRnHMVWVicwjN1XLFq5ma2zsy6EnqtPEqoqT8JHG9mp5mZlWAZnXMVVCUp1lYcScdKel/SL5JWS5oj6UVJrZLidpP0sqQlkpZKelVS4xTXy5X0mKQFklZIGiWpTYq46pLuljRP0ipJYyV1SBFXSVIfSTMl/S5pYtQSEltag4bM7F1C/3LnnCtxGWxCqQuMAwYBvwGNgeuBzyS1MbNZkmoC7wOrgfMI42n6A6MltTWzFaFMEjCM0IvvEmAR0CeK28/M5iTc93HgBOAaQs+/vwMjJbU3swkJcf2Aq4G+UTn/DLwk6UQzGxHnA6Y7ArQ90B7YBZgDfGZmY9O5hnPOxaEMTrRlZs8Dzxe8vr4ApgKnAfcSxtE0A1qY2fQo5mtCB4+/AfdFp3YBDgM6mdnoKG4sMAO4Frg02rcvYaBlLzN7Mto3hjDI8tboOkiqT0jkA8zsnugeoyU1BwYQxvIUK1Yzi6QdJI0APgbuAS6IPvzHkt6QtEOc6zjnXDoqKd62hRZGr2uj1y6ECur0/AAzmwF8ApyccF4XYG5+Io/ilgDDU8StBYYmxK0jzEh7rKRq0e5jgaqE5utEQ4A2kmKN44nbm+UBoAPhN9f2ZlYL2J6Q1I/AH4A650pApUqKtcUlqbKkqpL2BB4GfmHTdN+tST2eZjKQ2LZeVFxjSdsnxM1IMW/VZELybp4QtxqYniKOpHsXKm4yPwX4p5k9kV8wM1tpZo8DNwBdY17HOediEaFHS5z/ATtK+iphu6CQy35OSJzfAW0JTSXzo2N1Ce3fyfKA3IT3RcWREFtcXN2E18UpOpIkxxUpnTbzbwvZP4XwoMA55zIqjUr3AjNrFyPuHKA2oW38auBdSYeZ2czoeKpcllwKlVJckeLWzIcDhXWTORV4I52bOudcsWKO/kznIamZfWtmn0cPRI8iNBdfHx1eROpacC4Fa9h5RcSREFtcXF7Ca642/yDJcUUqag3QQxLeDgX+K+kVwsChX4Gdge7AgcDFcW7mnHPpKMnRnWa2WNJ0NrVdTya0XydrRWiBICHumELiZpvZ8oS4rpJqJrWbtwLWsKmNfDJQDdiDgu3m+W3lifcuVFE184+Bj6LtdWA3Qtv4/wNGRa+nRPuHxbmZc87FJTI3aCjl9aWdgb2BH6Jdw4CDJTVLiGkCHErBHDcM2EVSx4S42sBJKeJygNMT4qoAPYB3zGx1tPttQnI/K6mIZwOToh41xSqqzfy4OBdwzrmSkqnh/JJeA8YDXwNLgb2AK4B1hG7WEEa3/wN4XdINhHbsfsBPhJ4v+YYBY4Ehkq5h06AhAXflB5nZBElDgfujBX5mABcRBhudlRA3X9JAoI+kZVE5ewCdKNjVsUhFrQE6Mu5FnHMu0zI8idZnhGbhqwjdAn8CPgDuyH/4aWYrJHUCBgLPEpLze8DlCU0nmNkGSScSxtwMIkwBPhY40sx+Srrv+cBthJGkdYCJQGczG58U15cw79VlQANgGtDdzIbH/YBpjQB1zrltaUubUJKZ2Z3AnTHiZlN4Z4/EuDygV7QVFbeKMLPslcXErSck/P7F3bswsZO5pL0Iv2VasPliFGZmJ2xpIZxzLhWfMzG+uAs6H0h4EPorYYKaaYQuN/WBucDskiqgc67i8oUn4ovbz3wA8CawJ+GX5dlm1gA4MbrGdSVTPOdcRRV6s5To3CzlStxkvi9hNaEN0fvKANHUjLeT8ATXOecyQvHmZfEFLIK4bebVgGXRU9w8woChfFMIcxw451xGeTNLfHFr5j8CjaKfJwM9E46dDcxPPsE557aGN7OkJ27N/C3gT4SpIu8Ahkc19HVAPcKENc45l1FeM48vVjI3s38m/Py2pMMJq3PUBN42Mx/O75zLOE/l8W3RoCEz+4wwoso550qEBJW9DSU2HwHqnMta3swSX1FT4H5L/EUnzMxSTR3pnHNbzHN5fEXVzCfiKwg550qJ2PLpbSuiomZN/PO2LIhzzhWQ2VkTy70K2Wa+f8vGfPL5g6VdDJeG96f6UIayZOnv6zJyHW8zj69CJnPnXPYTUNmTeWyezJ1zWct7Jsbnydw5l7U8mcfnydw5l5XCsnGezePyZO6cy1peM48v7qyJSNpZ0u2SPpY0RVKraP/FktqVXBGdcxVV/qLOxW0u/rJxewMfAjnAl0B7Nq0D2gI4hDAVrnPOZYSAKp6pY4tbM78HmAE0BY6n4GRmnxCSu3POZZTXzOOL22bekbDu52JJlZOO/QI0zGyxnHMVneTD+dORzgPQ9YXsrwesykBZnHOuAM/l8cVtZvkKOKeQY93wuc2dcyXAl42LL27N/DbgbUnDgecIsyl2kPQ3oDtwZAmVzzlXQQlfnCIdcZeNGyWpO3A/cEK0+z5gLtDdzD4pofI55yoqr3WnJXabuZm9Kuk1oDVQH1gIfGNmG0qqcM65ik2+CmhsaY0ANTMDJpVQWZxzbiPhNfN0xB001L24GDN7ceuL45xzm3gyjy9ub5YXCtmeT9iccy6jJMXaYlznNEmvSJolaZWkaZLukFQrKS5X0mOSFkhaIWmUpDYprldd0t2S5kXXGyupQ4q4SpL6SJop6XdJEyV1K6SMvSVNlbQ6Kt+FaXxVsZN5yxTbYcCdwA/Rz845lzESVK4Ub4vhasJYmX8CnYGHgIuAdyVVCveTgGHR8UsI3a5zgNGSdk263uNAb+Am4ERgHjBS0n5Jcf2Am4EHgeMI3bhfknR8wc+q3sDDwCvR/V8CBkm6KNanI35vlmmFHPpU0nrClzI27k2dcy6ODI4APcnMfkt4P0ZSHvA0cATwPtCFUDHtZGajASSNJUxlci1wabRvX+BMoJeZPRntGwNMBm6NroOk+oRfIgPM7J7ovqMlNQcGACOiuCqE7t/PmlnfhLhGQD9Jj5nZ2uI+YOxZE4swOr/wzjmXKfkPQDMxaCgpkef7MnrdJXrtAszNT+TReUuA4cDJCed1AdYCQxPi1hGano+VVC3afSxQFRiSdN8hQBtJTaP37YGdUsQ9SxhhH6vlIxPJvB2wMgPXcc65Akp4oq2O0eu30WtrUvfWmww0lrR9QtwMM0vOe5MJybt5QtxqYHqKOIBWCXGkuHdyXJHi9ma5NsXuqsA+QFfg0TjXcc65+ESl+P3Md5T0VcL7R8zskUKvLO1CaBIZZWb559UFZqYIz4tec4HlUdyiIuLqJrwujrp0FxdHimsmxxUpbj/zASn2rQd+BgYCt8S8jnPOxSLSqnUvMLNYi+RENezXgXXA+Um3TE68+fuT32c6jkJiY4ubzGuk2LfWR38650qMoEqGO5pLqk7osdIM6GhmcxIO55G6FpwbvS5KiGtcRFxewmuuJCXVzlPFEd17XkJc3aTjRSq2zVxSVULXmn3MbHXC5oncOVdi8mvmmWozl5RD6Pr3B+B4M/smKWQym9qvE7UCZpvZ8oS4ppJqpohbw6Y28slANWCPFHEAUxLiSHHv5LgiFZvMzWwNcBmwXZwLOudcplSKFqgobitO1Jf8OeAo4GQzSzVt9zBgF0kdE86rDZwUHUuMywFOT4irAvQA3jGz1dHutwnJ/ayk+5wNTDKzGdH7scCCQuLyCKu5FStuM8tEwm+JD2PGO+fcVsvg4hT/JSTf24AVkg5OODYnam4ZRkisQyRdQ2hW6UP4I+Gu/GAzmyBpKHB/VNufQRhr05SEhGxm8yUNBPpIWgaMJyT8TiR0dTSztZJuJAwS+hkYFcX0Ai6JKtTFipvMrwWekTTdzEbFPMc557aYyEzf6chx0WvfaEt0C3CzmW2QdCJhzeNBhEXrxwJHmtlPSeecT/jF0B+oQ6jwdjaz8UlxfQk9YC4DGgDTCNOGD08MMrPBkgy4CrgGmA38w8wGxf2AcZP5E1GBR0paSVj3M7FB38ysRdybOudcsZS5EaBm1iRmXB6hRtyrmLhVwJXRVlTcekLC7x/j3g8ThvRvkbjJfBxb2W3GOefSEUaA+rSJccWdm+XPJV0Q55xL5qk8vkKbpCT9GE0o45xzpaKEh/OXK0XVzJsQ+kg651wpiDdXuQvSWjbOOee2lQz3Zin3ikvm/tDTOVdq/AFofMUl81skLYhxHTOz8zJRIOecA0B4M0saikvm+xHm4y2O1+CdcxnlzSzpKS6Zn2JmX2yTkjjnXBKvmcfnD0Cdc1nLU3l8nsydc1lJQGWvmcfmydw5l7U8l8dXaDI3M3/24JwrRULe0BKb18ydc1nLa+bxeTJ3zmWl0DXRs3lcnsydc9nJJ9FKiydz51zW8uH88Xkyd85lpbA4RWmXouzwZF7GfTbxB+569C2++W4Oq9eso+muO9K7e0fO7tK+tItWbizMW8prb3zCDzPmMnP2r6xZs46H7ruU+jvVKRDX7ZxbU55/T/8LaLp7AwDmzlvIW6O+ZNK3M5k/fw309uYAABbdSURBVBHVq1ejebNGnNHtCJpEMfluuu1pJk+dtdn1zj/rGE7svGk94meHjmL8xOksWLiEdevWs2O9HehwSBu6HNeeatVytvbjlyrvzRLfNkvmkl4mrDjd0sx+TTp2BPA+cIWZPbCtylTWTfr+Z7r+/UHa7dOEB/qeSY3qObz+3gQu6fccq9es4y+nHV7aRSwX5v2ax6efT6FZk4a0bNGYid/8WGjskYfvyzGdDiywr1GDeht/njDpByZ9O5MjD9uXpk0asHLlav735idcf8vj3Hbj+ezRtFGBc3ffbWcu7HVCgX077Vjwl8iqVWvodPh+NGpYj5ycykz7fg6vDPuIH2bM5foryvYiYd7KEt+2rJn/HZgMPAicnr9TUg3gUcIq2P/ZhuUp8159Zxzr12/g+fsuZPuaYR2RI//Yksnf/8zQEZ97Ms+QVi1254n/XgXAqA/GF5nM6+bWYq/muxZ6/LCD9+G4ow8qMOfIPq2acNEV/+bNkV9w6YWnFIivUaNqkdcDuKDn8QXet23djNWr1/LaG5+wdNlKateqWeT52cxr5vFts4FBUW38cuA0SYn/xd4M7Ar0MrMN26o85cHatevIqVKZGkl/Su+wfQ02bPCJLDOlUgYbbmvXqrnZ5FHb1axOowZ1yVu0NGP3qbV9DQAqVy67Y//y28zjbG4bzzBpZkOAN4BBkupIOgC4ErjZzKYlxkrqIekLSSslLZL0gqRdkmJ6SpooaYWkJdHPvbbdJypdZ5wY2k2vu+cl5v22mCXLVvL0a58w5stpXHTmkaVcuopp5Pvj6HH+bZzxl9v51+3PMGXa5m3eyZYtX8XsOb+xS6OdNjs2Y+YvnHPBnXTv2Z8r/jmYUR/8X6HXWb9+A6t+X8PEST8y/O3P6NRhP7arWX2rPk+pkqgUc3Ol8wD0QkJzy0DCfOkTgHsSAyRdDtxHaH75F1AHuBUYLWk/M1sp6SjgiSjuSsJnaRXFVgitmjdi+ODLOOfaR3n85Y8AyKlSmfv6/Jlux7Qr5dJVPB0ObUO7/fYiN3d7fluwhNffHMvNdzzLTdedzT4tmxR63uPPvIVhnNj5jwX2t9y7MYcf0oZGDeqyYuVqPvh4Ig89PpzFi5dx2ikdCsTO/mk+V/xz8Mb3RxzWlgv/cmJGP19p8DQd3zZP5mb2s6SrCYl6LXCgma3PPy6pDnAbMNjMLk7YPw6YApwLDAbaA7+Y2dUJlx9Z2H0lXQBcALBb48aZ+0Cl6IfZ8zn3usfYu1kD7r2+BzWqVWXEh19z5R0vUK1qDt2PO6i0i1ihXHZh101vWsAfDmjB5X0G8/zLo7ntxvNTnvPqsI/5aOwkLv7rSTTcuW6BY2d0K/jX1R8ObMGd9w/llWEfc0Lng6lRverGYw12rsudt/yV1avXMO37Obw6/GPWr9/A5RefmrkPuI2FZhZP53GVSoOamT0GzAP+Z2bfJB0+HKgJPCepSv4G/Bht+VWSL4CGkp6SdLyk2sXc8xEza2dm7XbacfM/Z8uifoOGk1OlMi8MvIjOh7eh4x9acOfVp3PK0QfQ596X2bDBH0GUpho1qnHgfnsy/ce5KY+PfO8rnnvpfc447UiO6rh/rGse1n4f1qxdx+yfCnQIo2rVKjRv1ojWLZtwapfD6HVOZz4aO4nvps/Z6s9RmhRzc6W7KtOaaEtWP3r9mFBzT9z2BOoBmNk7wBnAHsAwYKGkkZJal3C5s8aU6XPZZ89dyKlSucD+A1vvTt6SFfyWt7yUSubymVnK7nUffPw1jz49gi7HHcxpJ6fR6yh6rl3cCjzNoy6O837Ni3/tbOTZPLZsHDS0MHo9E/g+xfGNj/zN7AXgBUm1CH3Y7wLeBJqUcBmzQv16tfjmuzmsWbuOqjmb/im/mjyT6tVyyN2h7HZJKw9WrlrN+Infs2ezAs/t+fyrqfz30dc5quMBnHfmMWld86Ox31C1ahUa71q/yLj8wUYN6uemV+gs480s8WVjMv8QWAU0M7Pn45xgZsuA1yW1AO6UVNvMMtfPK0v17t6Rntc/zhlXDuYvp3WgerUc3vrwG14ZOY6LzzyyQIJ3W2fsF1MA+GHGPADGT5zODrVrUrtWTVq3bMLrb37K3F8Wsk/LJuTm1uK3BUsYNmIsixcv57KLNrWlT546i4GDXmH33XbmyMP3LdAMUqVKZZo1aQjAlGmzeG34J/yxXUvq77QDK6MHoF+O/46zexxF9ai9fObsX3nm+Xdp/4dW7Fy/DmvXrmfKtFmMGPkF+7dtTos9d9tWX1GJ8FQeX9b9v93M8iRdD9wrqRHhoeYyYBfgSOAtM3tZ0gCgNjCG0P7eGLgY+KwiJHKAk4/anxfvv4gHnnmXS/v/P1avWUuTXXbk7mu7c/6ph5V28cqVe/7zcoH3jz49AoDWe+/OrX2b0KhhPT4fN5XPv5rKylWrqVGjGnvvuRsX//Uk9txjU8180pQZrF27nhmzfqFvvycLXHOnHXdg8MDLAMitUwszY+irH7B02UqqVK7E7rvtzOUXn8rh7ffZeE6dHbajVq2avDrsYxYvWU7VajnsvFMu557xJ44+Il47fFbzbB6bzEpncImkmcDHZnZ2IcdPJnQ5PACoDPxMSNx3m9m0aODR34E2QC7wK/A2cGPydAHJDjywnX3y+VeZ+ihuG3h/6vzSLoJLw2U9juH7yRO2KhW3arO/PTNsTKzYg5rtMM7MiuyPK2lX4DqgHbAvUANoamYzk+KqA/2AswldnScA15nZh0lxlaLr/Q1oAEwDbjWzV1LcuzdwFdAUmAkMNLPBKeJOIXTHbknIaY8CdyT2+CtMqdXMzaxJMcdfB14v4vj/gP9luFjOuWyR+fnMmwPdgXHAR0BhDyweB04AriH0oPs7MFJSezObkBDXD7ga6Btd88/AS5JONLMRGz9GSOQPA3cAo4CjCAMnZWYPJcQdC7wS3f9KYH/gdqAW4ZdGkbKumcU55/JluJXlQzPbGUDSX0mRzCXtS+h80cvMnoz2jSEMdLwV6BLtq09I5APMLH/Q42hJzYEBwIgorgph3MyzZtY3Ia4R0E/SY2a2Nto/gNBacUFC3PbADZIGmtkvRX24sjtxg3OunBNSvC2OmHM/dSF0gx6acN464AXgWEnVot3HAlWBIUnnDwHaSGoavW8P7JQi7llCN+vDACTtRhgRnyouBziuuIJ7MnfOZS0p3pZBrYEZZrYyaf9kQvJunhC3GpieIg7C1CL5cQCTtiTOzGYAKxPiCuXNLM65rFRK44HqAotS7M9LOJ7/utg270GSKo4U14wbl7+vbor9BXgyd85lr/jZfEdJiV3UHjGzR7bwjqm6+CWXJJ04ComNGxfrW/Bk7pzLWmksTrGguK6JMeURxqwky004nv+aG/VIsWLiINSs5yXE1S0iLlmdhOOF8jZz51zWKoU288lAU0nJc2G0IswlNT0hrhphbqjkOAgzvObHwaY28bTiJDUhTDw4hWJ4MnfOZaeYiTzDyXwYofdI4tKWVYAewDtmtjra/TYhuZ+VdP7ZwKTowSWE5TAXFBKXB3wCYGazgYmFxK0F3iqu4N7M4pzLWpleA1TSadGP+atuHyfpN+A3MxtjZhMkDQXul5QDzAAuIozc3JhozWy+pIFAH0nLgPGEhN8JODkhbq2kGwmDhH4mDBrqBPQCLjGzxJlj/wm8Ielh4HnCoKEbgAeK62MOnsydc1lKZLzWDfBS0vtB0esY4Ijo5/MJA336E9qrJwKdzWx80rl9geXAZWwazt/dzIYnBpnZYElGGM5/DTAb+IeZDUqKGxH9svkX0JMwnP/2qCzF8mTunMtamc7lZlbsJc1sFWE4/ZXFxK0nJPz+Ma75MGFIf3FxrwKvFheXiidz51z28lkTY/Nk7pzLWr44RXyezJ1zWctTeXyezJ1z2cuzeWyezJ1zWSnMzeLZPC5P5s657JT5AUHlmidz51zW8lwenydz51yWir/whPNk7pzLYp7L4/Nk7pzLSqW0OEWZ5cncOZe9PJvH5sncOZe1vGtifJ7MnXNZy9vM4/Nk7pzLToJKnsxj82TunMtins3j8mTunMtKJbQ4Rbnlydw5l7U8l8fnydw5l7W8Zh6fJ3PnXNby4fzxeTJ3zmUtT+XxeTJ3zmUl+RS4afFk7pzLWj4CND5P5s657OW5PDZP5s65rOW5PD5P5s65LCUqeaN5bJ7MnXNZyUeApqdSaRfAOefc1vOauXMua3nNPD5P5s65rOVdE+PzZO6cy04+aCgtnsydc1nJH4Cmxx+AOueylmL+L9a1pN0kvSxpiaSlkl6V1LiEP8I24zVz51zWylTNXFJN4H1gNXAeYEB/YLSktma2IjN3Kj2ezJ1zWSuDrSy9gWZACzObDiDpa+B74G/AfZm7VenwZhbnXPZSzK14XYDP8hM5gJnNAD4BTs5omUuJJ3PnXFYSUEmKtcXQGpiUYv9koFUmy11aKmQzy/jx4xbUyNGs0i5HCdgRWFDahXBpKa//Zrtv7QXGjx83skaOdowZXl3SVwnvHzGzRxLe1wUWpTgvD8jd0jJmkwqZzM1sp9IuQ0mQ9JWZtSvtcrj4/N+scGbWOdOXTLGv3HR+9GYW51xFsIhQO0+WS+oae5njydw5VxFMJrSbJ2sFTNnGZSkRnszLl0eKD3FZxv/Nto1hwMGSmuXvkNQEODQ6VubJLFUzknPOlR+StgMmAquAGwjt5/2AWkBbM1teisXLCK+ZO+fKvWiEZyfgO+BZ4DlgBtCpPCRy8Jq5c86VC14zLyMk9ZRkkhZLyk06ViU6dnMpFa/CiyZwypO0c4pjR0jaIOmy0iibqxg8mZc9OwDXlXYh3Gb+DmwAHkzcKakG8CgwFvhPKZTLVRCezMued4BLJDUo7YK4TczsV+By4DRJpyQcuhnYFehlZhtKo2yuYvBkXvb0j177FhUk6Q+SRklaLmmFpPck/WEblK/CMrMhwBvAIEl1JB0AXAncbGbTEmMl9ZD0haSVkhZJekHSLkkxPSVNjP79lkQ/99p2n8iVJZ7My555hD/lL5CUcv4LSW2BMYTRbT2Bc4HawBhJ+26jclZUFwI1gYHA48AE4J7EAEmXA88D/wd0Ay4GDiTMrV0zijkKeAJ4lzDjX3fgKaDOtvgQruypkHOzlAN3EuZg/heQqqZ2E2ES/qPMbDGApHeBmdE5p26bYlY8ZvazpKsJ7eRrgQPNbH3+cUl1gNuAwWZ2ccL+cYSRiOcCg4H2wC9mdnXC5Udug4/gyiivmZdBZpYH3AucK6lFipAOwBv5iTw6ZylhpFvHbVPKisvMHiP8BfU/M/sm6fDhhJr7c1EvpCqSqgA/RluHKO4LoKGkpyQdL6n2tiq/K5s8mZddAwnTd96a4lhdQjJJ9gvlZLrPMmBNtCWrH71+TKi5J257AvUAzOwd4AxgD8Iv4YWSRkpKNb+Ic97MUlaZ2XJJdxBq6HcnHc4DUvV2aRAdc6VnYfR6JmHJsmRL838wsxeAFyTVIoxevAt4E2hSwmV0ZZAn87JtEKG3RP+k/WOAEyTVMrNlAFFCOAn4YJuW0CX7kDA/SDMzez7OCdG/4etRk9qdkmpHzWbObeTJvAwzs9WSbmXzmff6AScC70m6kzCp0HWEttpUzTJuGzGzPEnXA/dKakR4qLkM2AU4EnjLzF6WNICoBxKhyawxodfLZ57IXSreZl72PUnSn+tm9jVwBOFP9qcJEwstBzqa2cRtXUBXkJn9GzgN2Icw4dObhF5GBuQ/MP2M0Ib+AKF74u2EAWOnJF/POfCJtpxzrlzwmrlzzpUDnsydc64c8GTunHPlgCdz55wrBzyZO+dcOeDJ3DnnygFP5mVYwlJy+duyaM7rf0STN5X0/W+WZEn70l6+TtLlkjI+k6OkmZKeKibmiKjMR2zh9YdsaflSXO8DSR9k6nquYvERoOXD6cAcwojB0wnLk9UnTIW7rbWPypKOywkTT72a+eI4VzF4Mi8fJpjZ9OjndyQ1JyTIlMlckoAcM0s1q99WMbPPMn1N51zxvJmlfPoSqCWpPmxqDpDUS9JUwtSsJ0THakq6U9IMSWui176SCvy3IWl/SR9J+l3Sz5JuBJR841TNLJL2lfSapIWSVkmaJqlPftmA3YGzEpqLnko6d1i0tNoqSZ9IOjzFfS+LPufvkr5KFROXpGMkjZA0L1rWbZKkqyRVLiS+t6Tp0b3HSzoyRUzHaOm+ZdEycCMl7bOlZXQumdfMy6emwHrCfCz5jgT2A24B5gMzo3b1kUArwuRc3wAHAzcS5kS/CkDSjsD7hPnQzyOsYnQNYfKnIimsO/oBMB24gtAEsyfQNgrpCowAJhIWPwb4LTr3AOAjwvJqvYGVhGXZRkk6xMzGRXF/Ae4nLKs2FGhOWJatVnHlK0Qz4D1Cc9XvQLuobDsB1yfFdiQs+daX8L1cB7wlad/8dT8lnQC8TpiD5ezovOuAjyS1NbOftrCczm1iZr6V0Y2wvqcBLQi/mHMJy8mtJ6xykx83k5AIGySdf050foek/X0Jtff60fvboveNE2K2AxaE/4QKnGuEBYzz338I/ATULOJzzASGpNj/HvAtUDVhX+Vo3/+i95Wi67+ddG6PqCxPFfMdHhHFHVHIcUXfbV9gEVApqdzJ30stwpzxzybsmw68l3Td2tH3d3/Cvg+AD0r7vyvfyubmzSzlw1TCSjV5hDnOn2PztUE/M7NfkvZ1BmYBnyYtYfYOkEOopUN4qPmZmc3OP9HMVgDDiypUtDjxocBzZrYynQ8kqQah1vsSsCGhbAJGsWl5tV2j7cWkS7wCrEvnngn3bijpYUmzCMl6LWHO+DpsWikoX/L3soxQA28fXWtPwmpBycvErQTGJnwO57aKN7OUD10JzRfLgFlm9nuKmFTLyNUntFevLeS69aLXhsCkFMd/LaZcuYSac7q9WyA081QmNPncmCogatdvmKosZrZO0sLNzypadM1hQCNC08pUwmISpxBq59WTTkn1HfxKmJ8cNiX/x6Mt2ewU+5xLmyfz8mGSberNUphUcx0vBGYA3Qs5Z2b0Og/YOcXxVPsSLQI2sCmxpWNxdO5/gWdSBZjZBkn5v6QKlCWq/dbb/Kxi7UFoIz/HzDb2IZd0UiHxhX0vP0c/5/9C6UP4iyJZxnsUuYrJk3nF9jbQDVhuZlOLiBsLXCNpN4se1knajrAMXaHMbKWkj4GzJd1qZqsKCV0N1Eg6d4Wkj4B9gfFmtqGQc+cQ2sy7A08k7O/Glv33XTN63fjXiqQc4KxC4g9O+l5qEXoKvRkdn0b4pdjazAZsQXmci8WTecX2HHA+YXm5ewk9SqoSaqddgFOitu6BhCXL3om6Heb3ZiksOSe6mrD02djoHnMIvUX2M7NLopgpwOGSTiT0mFlgZjMJ65t+CIyU9DjhL4QdgQOAymZ2fVQ7vwV4TNKTwAuE3ix9SFgcOQ3fEp4j3CZpPSGpX1FE/K8U/F6uIzwc7gfh6bCkvxPW8KxKaNtfQKi9HwLMNrP7tqCczhXgD0ArMDNbCxwLPApcQOgi+Byh++GnRE0AZrYAOIqQhJ4mNH28TcGacGH3+JLwEPQnQle/EYRfBInt6H0INdgXCX3kb47OHQ8cRGiq+DfhwewDQBtCks+/x+OEQVKdCF0Azwf+TGjmSYuFgVSnEH6pPBN91g+BwmrVY4B7Ccu6DSW0qR9nZt8lXHME4UHndsBjhO6gdwENCH/1OLfVfNk455wrB7xm7pxz5YAnc+ecKwc8mTvnXDngydw558oBT+bOOVcOeDJ3zrlywJO5c86VA57MnXOuHPj/qC0mjSRSpxoAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "disp = plot_confusion_matrix(rf, X_train_transformed, y_train,\n",
    "                             display_labels=rf.classes_,\n",
    "                             cmap=plt.cm.Blues, \n",
    "                             values_format = 'd');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Q9\n",
    "\n",
    "Suppose we re-ran the code but with `class_weight=\"balanced\"`. In that case, would you expect the number in the **lower-left** box to increase or decrease? Briefly justify your answer. **Maximum 3 sentences.**\n",
    "\n",
    "Hint: as a reminder, `class_weight=\"balanced\"` increases the \"weight\" (or importance) of examples in the minority class.\n",
    "\n",
    "<br><br><br><br><br><br><br><br><br><br><br>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---------------"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Below is the confusion matrix for the **validation** set."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "disp = plot_confusion_matrix(rf, X_valid_transformed, y_valid,\n",
    "                             display_labels=rf.classes_,\n",
    "                             cmap=plt.cm.Blues, \n",
    "                             values_format = 'd');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Q10\n",
    "\n",
    "Would you say this classifier is overfit? Briefly justify your answer. **Maximum 2 sentences.**\n",
    "\n",
    "<br><br><br><br><br><br><br><br>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---------------"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In scikit-learn the `RandomForestClassifier` also has a `predict_proba` method, so we can create an ROC curve. Below I do so on the **validation** set:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fpr, tpr, thresholds = roc_curve(y_valid, rf.predict_proba(X_valid_transformed)[:,1], pos_label=\"Yes\")\n",
    "\n",
    "plt.plot(fpr, tpr);\n",
    "plt.plot((0,1),(0,1),'--k');\n",
    "plt.xlabel('false positive rate');\n",
    "plt.ylabel('true positive rate\\n(a.k.a. recall)');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Q11\n",
    "\n",
    "On the plot above, draw a circle to mark the point where the probability cutoff threshold is equal to 0.5. Briefly justify your answer. **Maximum 3 sentences.**\n",
    "\n",
    "<br><br><br><br><br><br><br><br><br><br><br>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---------------"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The following code grabs three classifiers learned above:\n",
    "  - The `DummyClassifier` called `dc`.\n",
    "  - The `LogisticRegression` called `lr`.\n",
    "  - The `RandomForestClassifier` called `rf`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [],
   "source": [
    "some_models = [dc, lr, rf] "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Next, I shuffle the list of models so you don't know what order they are in."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [],
   "source": [
    "np.random.seed(999)\n",
    "some_models = np.random.permutation(some_models)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To remind you, here is the training accuracy in each case:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.7669756149699959"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dc.score(X_train_transformed, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.8466201462796414"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lr.score(X_train_transformed, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9998778458108748"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rf.score(X_train_transformed, y_train)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In Lecture 8 we looked at some histograms of the predicted probabilities, split by the true class. The following code creates 3 such histograms for 3 different models, using the training set."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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HkX8pF/XNX7Bwtc6fC4vvvgiW265JTvttBPXXXfdkvaFCxfy3ve+l/XWW4/JkyfTq9fK/bKqrc+0RUTcn5kjV2oSkqQOcRiDtIo5eMxOrL3GamTmkkIU4I03F5GZDF5zdQ4es9NKi18R66+/Ppdccgk///nPufHGG5e0T5gwgWeffZYf/vCHK73QlST1TP52kFYxgwYO4I4rz+P9Izand++3fwT07t2L94/YnNt/9HUGDRyw0uJX1MEHH8xee+3F0Ucfzcsvv8y0adO46KKLmDBhAu9617uWip00aRLbbrstgwYNYvDgwRxwwAE899xzS8VceeWVbL311qy22mqstdZabL311vzwhz9c4fwkSd2Txa60ChrQvx9bv3sz3npr8ZK2t95azPveszkD+vdbqfGd8d3vfpcFCxZw/PHH85nPfIZtttmGk046aamYSy65hAMPPJD3ve99XH/99UycOJH777+fnXbaiQULFgBwxx13cNhhh/HRj36Um2++mf/+7/9m/PjxvPzyy53KT5LU/XiDmrSK+tNfHqdPn95stMFQAJ55YRZ//MvjDYtvj2HDhnHhhRdy+OGH07dvX+6//3569+69ZP3LL7/MGWecwZFHHsnEiW8/4OMDH/gAI0aM4KqrruLII49kypQpbLDBBlx44YVLYnbbbbdO5SZJ6p7s2ZVWUX379OHH553AE7/9Pn+77Xv8+LwT6Nund8Pi2+uzn/0sG264Ifvssw9bbbX0zX+TJ09mwYIFHHTQQSxatGjJstlmm7HZZptx7733ArDtttvy/PPPM378eG699VbmzZvX6bwkSd2TPbvSKigzuefqb9C379s/Aj758Z34xO6jyMxW04nVM74e+vXrR79+rYdPvPTSSwDssMMONbfbdNNNAdh111356U9/yne+8x3GjBlDRLDzzjtz0UUXseWWW9YlR0lS92CxK9XR5EkTWzeOvazrE1mOiFiqEG1Rq60r4utlnXXWAeAnP/kJ73znO1utX3PNNZf8+YADDuCAAw5g/vz53HnnnZxyyil87GMfY+bMmSs1R0lS17LYldQ0PvzhDzNw4ECefPJJDjzwwHZts8Yaa7D33nvz2GOPceqppzJv3rylimJJUs9msSvV0ahxRzc6hbqZcOk1xesXDl4p8SvDkCFDOP/88znxxBP5+9//zm677cYaa6zBc889x113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\n",
      "text/plain": [
       "<Figure size 720x720 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(10,10))\n",
    "for i, model in enumerate(some_models):\n",
    "    plt.subplot(2,2,i+1)\n",
    "    plt.hist(model.predict_proba(X_train_neg)[:,1], alpha=0.6, bins=50, label=\"No\", hatch=\"-\")\n",
    "    plt.hist(model.predict_proba(X_train_pos)[:,1], alpha=0.3, bins=50, label=\"Yes\", hatch=\"*\")\n",
    "    plt.legend(loc='upper right')\n",
    "    plt.xlabel('predicted probability')\n",
    "    plt.ylabel(\"count\")\n",
    "    plt.title(f\"Histogram {i+1}\")\n",
    "plt.tight_layout();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Q12\n",
    "\n",
    "I haven't told you which model is being used to generate each histogram. Which of the 3 histograms (Histogram 1, Histogram 2, or Histogram 3) do you think corresponds to the **logistic regression** (`lr`) model? Briefly justify your answer. **Maximum 3 sentences.**\n",
    "\n",
    "<br><br><br><br><br><br><br><br><br><br><br>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---------------"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Next, I want to optimize the hyperparameters of my random forest. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'n_estimators': [10, 100],\n",
       " 'max_depth': [3, 5, 10, 15, None],\n",
       " 'max_features': [3, None]}"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "param_grid = {\n",
    "              \"n_estimators\"     : [10,100],\n",
    "              \"max_depth\"        : [3, 5, 10, 15, None],\n",
    "              \"max_features\"     : [3, None]\n",
    "             }\n",
    "param_grid"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [],
   "source": [
    "grid_search = GridSearchCV(RandomForestClassifier(), \n",
    "                           param_grid, cv=5, refit=False,\n",
    "                           verbose=5, n_jobs=-1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Q13\n",
    "\n",
    "For the grid search above, how many models are trained in total? Briefly justify your answer. **Maximum 2 sentences.**\n",
    "\n",
    "Note: Don't forget to account for both the different hyperparameter values and the cross-validation folds. Also, I set `refit=False` so you don't have to account for one extra model being trained at the end.\n",
    "\n",
    "<br><br><br><br><br><br><br><br>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---------------"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "At the next point of my analysis, I experience temporary insanity. I do several crazy things:\n",
    "\n",
    "1. I set all relevant hyperparameters to 3, because 3 is a really cool number.\n",
    "2. I decide to just optimize `random_state` using `GridSearchCV`, trying all integers from 0 to 999 for the `random_state`.\n",
    "3. I decide to just use the first 100 training examples for my cross-validation, because I'm too impatient to wait any longer."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [],
   "source": [
    "grid_search = GridSearchCV(RandomForestClassifier(n_estimators=3, max_depth=3, max_features=3), \n",
    "                           {\"random_state\" : list(range(1000))}, \n",
    "                           cv=3, verbose=0, n_jobs=-1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [],
   "source": [
    "grid_search.fit(X_train_transformed[:100], y_train[:100]);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Upon doing so, I get a fantastic cross-validation score:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9402852049910874"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "grid_search.best_score_"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "I will now test out this model on the test set:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.6378301378301379"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "grid_search.score(X_test_transformed, y_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Q14\n",
    "\n",
    "Explain why the test accuracy is so much worse than the cross-validation score. **Maximum 3 sentences.**\n",
    "\n",
    "<br><br><br><br><br><br><br><br><br><br><br>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---------------"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
